package com.zte.claa.inficombo.csa.app.model.dev;

import java.io.Serializable;

@SuppressWarnings("serial")
public class DevTpExtData implements Serializable {
	// 普通设备类型.
	public static final int FN_TP_NORMAL = 0;
	// 特殊设备类型.
	public static final int FN_TP_1 = 1;
	public static final int FN_TP_2 = 2;
	public static final int FN_TP_4 = 4;
	public static final int FN_TP_8 = 8;
	public static final int FN_TP_16 = 16;
	public static final int FN_TP_32 = 32;
	public static final int FN_TP_64 = 64;
	public static final int FN_TP_128 = 128;
	public static final int FN_TP_256 = 256;
	public static final int FN_TP_512 = 512;
	public static final int FN_TP_1024 = 1024; //	通过RTU/DTU接入的非LoRa传感设备
	public static final int FN_TP_2048 = 2048; //	RTU/DTU设备（支持LoRa模块）
	public static final int FN_TP_4096 = 4096; //	NB类设备.
	// 逻辑资源》
	public static final int FN_TP_8192 = 8192;
	// AI特殊设备类型
	public static final int FN_TP_16384 = 16384;
	public static final String PHOTO_DEVTP_ID = "sensor_photo_process";
	
	/**
	 * fntype取值说明：（bitmap格式，可以叠加，比如类型为3=1+2，兼具1和2的特性）.
	    0	无特殊性标记;
		1	自研物位设备1，需要在inficombo后台补充配置部分metedata字段;
		2	自研物位设备2，需要在收到特殊上报消息后下发特殊配置参数;
		4	自研GPS定位设备（要求所有的定位设备metedata模型字段定义一致）;
		8	自研蓝牙定位锚点设备;
		16	自研蓝牙定位终端设备;
		32	Lora定位终端设备;
		64	Lora定位信标设备;
		128	外购GPS定位设备;
		256	自研GSP平台设备;
		512	自研SSP平台设备;
		...	待扩展（需要同步修改设备类型管理页面的列表）
	 */

	private String devtpid;
	private String devtpname;
	private int fntype = FN_TP_NORMAL;
	private String remark;
	
	public DevTpExtData(){
		
	}

	public String getDevtpid() {
		return devtpid;
	}

	public void setDevtpid(String devtpid) {
		this.devtpid = devtpid;
	}

	public String getDevtpname() {
		return devtpname;
	}

	public void setDevtpname(String devtpname) {
		this.devtpname = devtpname;
	}

	public int getFntype() {
		return fntype;
	}

	public void setFntype(int fntype) {
		this.fntype = fntype;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	public String toString(){
		StringBuffer sb = new StringBuffer();
		sb.append("devtpid=").append(this.devtpid).append(", ");
		sb.append("devtpname=").append(this.devtpname).append(", ");
		sb.append("fntype=").append(this.fntype).append(", ");
		sb.append("remark=").append(this.remark);
		return sb.toString();
	}
}
